iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 19
1
自我挑戰組

TensorFlow 2 30天自我養成計畫系列 第 19

[Day 19]TensorFlow查看資料

  • 分享至 

  • xImage
  •  
今天我們要繼續查看相關資料,但其實相關步驟與Keras相差無幾,就不會再多加解說。連假最後一天,今天大家都輕鬆點囉~

昨天我們已經得知訓練資料的組成,今天會繼續查看相關的資料與鍵入相對應的程式碼
那我們就繼續前進囉!

  1. 查看第0筆images影像之長度,請鍵入以下程式碼:
len(mnist.train.image[0])

注意!使用len可查看第0筆images影像之長度喔!

  1. 查看第0筆images影像之內容,請鍵入以下程式碼:
mnist.train.images[0]

注意!TensorFlow會自動幫使用者進行標準化喔!

  1. 定義並執行plot_image,請鍵入以下程式碼:
    定義之指令如下所示:
import matplotlib.pyplot as plt
def plot_image(image):
    plt.imshow(image.reshape(28,28),cmap='binary')
    plt.show()

執行之指令如下所示:

plot_image(mnist.train.images[0])

執行後即可顯示第0筆資料囉!

  1. 查看labels資料,請鍵入以下程式碼:
mnist.train.labels[0]

在[Day18]時我們有鍵入以下指令:

後面的one_hot我們設定為Ture,所以產生的labels為One_hot Encoding。
這樣顯示的只會有0跟1,所以第0筆資料為1,其他都是0

  1. 使用argmax顯示,請鍵入以下程式碼:
import numpy as np
np.argmax(mnist.train.labels[0])

即可由原本One_hot encoding只能顯示0跟1轉換為0~9

查看多筆訓練資料

  1. plot_images_labels_prediction()
    之前在Keras時有建立此函數,由於TensorFlow的關係需做些更改,如下所示:

    將上面圈選的兩處進行更改,更改內容如下:
  • 更改images: TensorFlow需要轉換成28X28影像,才可以顯示
    程式碼如下np.reshape(images[idx],(28, 28))

  • 更改labels: 與前面所述相同,要將One_hot Encoding轉換為np.argmax,才可以成功顯示出0~9的數字
    程式碼如下np.argmax(labels[idx])

這樣查看資料的部分就告一段落啦!明天會與大家聊聊有關TensorFlow與Keras的關聯性喔!然後就要進入鐵人賽最後10天倒數了!謝謝大家/images/emoticon/emoticon01.gif

Reference: 林大貴(2019):TensorFlow+Keras 深度學習人工智慧實務應用。新北市:博碩文化


上一篇
[Day 18]回歸TensorFlow,繼續努力!
下一篇
[Day 20]聊聊TensorFlow與Keras的關聯性
系列文
TensorFlow 2 30天自我養成計畫30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言